Conventionally, in a semiconductor device which executes periodic processing under the control of a processor, a peripheral module which periodically produces a periodic trigger has been booted in response to a boot command from the processor, and modules such as a co-processor start executing predetermined processing in response to the periodic trigger output from the peripheral module. In this processing, each module measures processing time and outputs completion notification to the processor when the processing is completed within a predetermined period.
On the other hand, when failing to complete the processing within the predetermined period, the module notifies the processor of “occurrence of periodic error” which is information indicating an overrun of the processing time. The processor notified of the occurrence of the periodic error performs abnormality processing.
Thus, the periodic error has conventionally been detected by the processing of each module as described above. However, in such detection, time required for the boot of the peripheral module and the completion notice, an overhead related to the processor processing, and the like are not taken into consideration.
Accordingly, even when the completion notice indicating normal processing is output from each module, the periodic processing may not be completed in time, in terms of the processing of the device as a whole. In such a case, the processor does not execute the abnormality processing and thus a serious fault may occur in the processing of the device as a whole.